oo::class create ToolBar {
    superclass Monitor
    variable ToolBar

    constructor {parent {ifDebugger 1}} {
        my createToolBar $parent $ifDebugger

	my defineDebugMenuObjMethod resetThread "[self object] enableDebugButton"
	my defineDebugMenuObjMethod xScript "[self object] disableDebugButtons"
    }

    method defineDebugMenuObjMethod {mth cmd} {
	set obj [lindex [info class instances ::DebugMenu] 0]
	foreach {arg body} [info class definition ::DebugMenu $mth] {}
	if {$obj != {}} {
	    oo::objdefine $obj method $mth $arg [join [list $body $cmd] \n]
	}
    }

    method getPngData {name} {
	set breakpoint-flap {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
	    U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIfSURBVDiNpZK/T1NRFMe/596+9rXpD/rE
	    9BHbRRcpYQCxCZhIHBzBiVUH/wINu4NuLC4yOytzE+LUdKhNbAlDjSyWAK0lQG1K3nu8tvcdh9aa
	    YjEmfJOz3JzzyT3f8yVmxnUkrjUNwDfusUAU1IDHElhQQBJAUQL5Oeavl3vp8go7RA9FNPpham3N
	    CE1P+0Q4TO7+vvczl+u2CoX3DLy8x2yPBZSIHsVmZ7Op9XW957roNZvwXBcyGITfNOGUSqq6ufll
	    vttdxGBwCCgSRQOx2Pe7Gxs3nIMDqHYbYO6X5wFKIZhO4zyf79a3tl7MM78bMVECT26trka7p6fo
	    1euAZQGOA9g2YFlgy4JdLiO+vKxp0eirv0wUwAM9mdQudnehGg2Q3w9pGCCi4Q+8Xg+9Vgt6KmUU
	    iIxF5uafKxDdkUqhUy6DHQdCCLCUEJEIKBIBAgGw60LVavDHYirQv05zuIJiLnROTlibnIQgghAC
	    gghkWUCjAa9ahXd0BEGEi1pN6sC3EQ8IyLf39jr6zAyICDSASCn7MCGgmSZI12E3GpU0c2cEsMD8
	    6axY/MxEHMpkIKQEBiAQQRgGQktLqGezHbju86tyMKWFw+XkyspN3TSlOj4GXBc0MQERj6O+vd05
	    r1Rezyn15soklohCJMRbPZF4FkqlPF84TE6tJpzDwx+ubT+9z5z7Z5R/6yORvA2kGUh4wE6G+Wxc
	    35WA/9UvEs70xXEXay4AAAAASUVORK5CYII=
	}
	set debug-info {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QYdERIIyN9seAAAAzRJREFUOMulk1toVHcQxmf+57Ln
	    nM3e4m42qRs0iBqLlzYbW7NUraQ+GHxQNBQUopJCqautDzVNNVRaNETBEqRUaGsVpIUmL32qtMYQ
	    L0isaECjwVvEZJPN3rebze6ePTnz9yUbWvGtHwwzzMOPbxg+hFfU1n74N72Q34qIKnFCzvmMzWa/
	    2Hm86xN4jcTS8EX74Q25fP6v5p3NssNRjkXD5CYHkAW0TmdSH2cy03vtdltj5/Gum/8GIADAsa87
	    1qbT6VvB/Z9h393J4khSLCiapprEpVw2m/G/AUrj2z65+8xpqvBU1HccPTb0HweJRHLg0wOH8Pfb
	    UWNKt0u7NvmyCxdo/5hErqHn6cSNkdii6b/DxYPBQ3L3mW+vAYCtBBA6vjrS5q+r3zyaFM3RGU36
	    qHFJpMqloiIziQhk1SKmcvrsw+dJqrFQzvC6FFy9ZlX26sC1WwAALJGIn/TX+aXBF4YcWO42BAZu
	    3TCdeX1WM4kE0zTdkZTuQcDwcATkd9a+q0Sjke75EyRJ4gQMrXYHKLJ4L5M3mGJyXRSwSMSX9twI
	    nTSIyoCDK22In6uqBpIk8XkAEc1aJFGSGOdPJqanGNqYqwxMvWiGx2K5kE4UFzgSMK7MGoap67pA
	    RMY8wOv13pmYmKh3yDI+Ho+Xj8dzNzmDKCKLIHG3ADADyK3JWHR97aJyTCYTemVl1WAJwERR/LF/
	    4Ep4q98rqFY1YHKyAUcGnIscyEEIcqFQqHB5PO9vecvDfr5wLpNOp/rnv3Clr39oxZu1bVaLqK9c
	    VqONxov1sXDIo6rqM+JUGxl/sd3ldu/esUqEwet/clXRMBaLNdQsWXzh4YORrAAAsGPn9svDD+7v
	    57nU1K6mgN0AsXKmyD/gKKypW1pRtc3vhnNnT1NgXYBNTk1KRKbEGGtpaFjXhyUrXadOrB4bG//D
	    4/YUnM5y2V/nd1ZXV9t6ensePXn6SNXzxjdOl/2npi1NcG/4Pmx4byP98utFhq+Go+vUiX0A0BwK
	    hTYCgObz+S4BQG9729HzwWCwExn/ck/LXrBay+D7s98BviZgbK6wlJW5zgEAWltbW1TN8sPc7kP4
	    v3oJO6lmk2hPogUAAAAASUVORK5CYII=
	}
	set debug-start {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAK3RFWHRDcmVhdGlvbiBUaW1lAE1p
	    IDMxIERleiAyMDAzIDE3OjE2OjU3ICswMTAwHz6L/wAAAAd0SU1FB9MCGRY2HxMQzBYAAAAJcEhZ
	    cwAACvAAAArwAUKsNJgAAAAEZ0FNQQAAsY8L/GEFAAACT0lEQVR42q2TTUwTQRTH/7st3RZKsQk1
	    KlAEmqqpbVUU/IoXD5o0eiCevHgxelQDiYk3Ew9GvXHg7JmYmHhAkx4M0chRiVGQixahSO3Hfn/M
	    tuNbQiMQetK3+e1k5/3fmzdvZoF/NF8rR2wk1h/1RcekkDQsHBIUVmTV3XTCLnNi+kz68eDewXvt
	    wXa/XJNRWC40VuSVqepK9S753d0qCBAfiMX0cPpOKp4aD3eGRcMy4OEt5Hf8I6qj9tRZfZ2+Z4jn
	    BGsmaBBnkUBWvBC43f29WzAcHaZhwjAoCY1m2YJyXj1eD7p+/MIa6V8QfFvpkcnAzMTqZR4ZjfET
	    Q6P8ZHKEZ/qP8XgkwXE4yK++S/KuJ8G3nrYZ5N+SoHH0XG9PZn8cz+YGkH+ziE9zS3CYjYFTezCW
	    Habdu1g4Uu6XYTV2JvCauc9nC71lVYYotSF3KYlEKoxKpYZ4XxfWi2UolgXRxQHSDhHLhNNMME9U
	    zapdVzUFddUHXdIpqAJZNtAZEqBq1As6AObULdJOEUniYDPBA+JzyVYndU3N2QyQqApN1TYaqWgC
	    NMZgCi4UnX0k7Q0iu3ULr7zXj5I8/VORcxJN+y0K0g1ojoOa6YPqMqiwUFrVp0la3ORvNzfsFvIz
	    r5eYLjioWLQys6DZNmTHhibamM//buAR8tuObsctvF95aV2bnS8s11wKolUN7kLmFha+lNbk9+YV
	    KmKi1VXuI74Sp/EQRbED450d0kXmcsHUnFlewVN6ouT3epAhvu38B7x+3CRCaG1txPXN8f/YH7TU
	    CsgNfZUCAAAAAElFTkSuQmCC
	}
	set debug-stop {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QoRFy0Na8CcwAAAAsFJREFUOMttk7tPU2EYh59z6QVt
	    jcbI4CWGxkAreGlquAmpNoiamJC4sRBY/A9cOjgYaRwcTByMC3HQwbsxuJhQJJqwiMHEDg4otdQW
	    SmmhB+G05zufA6WC8iZfvuRNnt97+eVV2BKPwmE9PTHxRMBVdggNxgRcjkJlM6f8Az9r9PkuXbx2
	    za1oGgBSShACaVl8ePjQ/DIz817AlShYNYEq/MLv8/VGhobc8+PjmPn8tupOr5f6jg4+PH1qJpLJ
	    MQF9UbC0kVDIkZ2cfBk4dqw3Mji4Aa+ugmVtExCqylo6TSAS0Vfn5o4slUpnBsPh51pnJvPmeGNj
	    z/mBAXc2Hseqr0ePxSCZRGazG7OfOMHeu3epJBIYX79yPBzWjVTq6I9EIqj1qOrj/uvX9cy7d5QL
	    BdS+PtSWFpSODvj+HXX/fvYMD+Patw9FSkrj4/wuFGgOh/Wpz58DuqIoICXlQmGj1ZERcLlw9fbi
	    vnEDXVFwejyY8Tj5O3ewgXXDQAqBAqj/eSUl4v595NQUzl27cHq9WNPT5GIxhG1jAzYgqztSd/S7
	    uRl3KISu6zgcDnYHg9SFQsgqLMplxNzcXwEpRA1WW1rw3rqF0+tlPR5ndXQUp8eD7949PO3tmLkc
	    xrdvyJUVAHQp5YaaYSAsi7q2NlxVeHF4GNs00YAD/f3UnTrF+oMHoGnY1aLaBSm7K8Xi4UBbm1ZK
	    JCi9fk3l508Wbt6knMlQXlwk9+oVa7OzJG/fRtE0fH4/6aUl+8fycl6JgVODtycbGrpbg0FXKh5n
	    rVisLWvrUxwOGpqaSBcK4mM6vWBDpzYGIgJPcsVil2kYhwKtrXppfp6KaW6DVYeDBr+f2XxeTP76
	    lbKhPQqp2jFtduI/eLD77OnTLkUIbMtCWlbtTyST1qdsdsaGrigsbrvGrSICenayV4VpG85FYXkz
	    9wfHTVL214b3FAAAAABJRU5ErkJggg==
	}
	set edit-clear {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
	    U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKXSURBVDiNlZJLaJRnFIaf75uZ6EwSm9tI
	    QpNIvNWoFCsmiwrSgotKS3aCl4WL0Y2CIvwLBV0YFwYckFIQhI7GhWBLdaEL6Y0WMS20aTQxijGN
	    mnFGSZPJZcw/80/+//uOK0VjIfisz/twzstRR75gczjEBRGixrL31A35kfdAhzTfr22Ordqworwx
	    pLl6dJva+l4CYHFFVLO0KsLHLbFYSHP29H6lU0nVmUqq2gUFVugcfFJ0fSPU15QRXazqqxrpBY4D
	    SxcUiPCN65mLtwbz7kzJp6mdypWtGzfE400vgLqFBEpEAOjap07EV3L8k7bPVXNLOz2nu73pf8Zy
	    7FSTxsglEc4nHBn/X0EqqXZprb79dHNHtK6ugX+//punVx+y/ux2atdVkR7t9+7f/UOM9b4zRo4l
	    HMnOF+zRmmRTfWs5lyRqJl22dG9lUY0GFYVQNX5Qzr3BX/2B/t8N4v9gDCng5usTUkm1KHKOOxXN
	    tas6Lh8Oaf0cQg1gxsBksUEez7bgzdWQyQzI45EBd2oyW9SvVkk4UvJ301V7sLGkI2VgZyEYAZMF
	    8x9e4RmzuevMjJ0jXo3a1P5VhVZKwm81UsHP2UxaW6tQ/ggiPv6ch1eapViYoVCYRkTQ4UrST3oD
	    lPym38wnHHnmz02PpNN3mXFjTEyMksulmcxlcN0pRIRY9TYKRc3Qg/6SMThvCQACI4f6en8p+qzG
	    dT2KxTzWBuhwDZXxHeTdmNy6eSVvTPBlwpHM6xLfpPuM6ln9UXvb8hWtES//J2WxNejIMh4N9wRD
	    Q33j1vJZwpGHAOF30oAxdAw9+Ot25ZKGDz+oatOjo/f84eGfAmu869ZyIOHIxDufOJ9UUi1Tij6l
	    EOCatZxMOPJ4/txLfgdDCCiEEtoAAAAASUVORK5CYII=
	}
	set edit-copy {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QoaFAgvgxQ0mwAAAX9JREFUOMuVk0tLAlEYht8jM2Pa
	    gP0KzwjdFv2PCFq2iKB1F/BCtrBFkXbbREREG7E2Bf4EMbM2gWUwo7+gmjAFN83ttGl0Rkexb/Wd
	    w3kf3vfjO+ToJDOv6/osRijBz71trsXvnHecYRjT8ejWKHqkD/YmAbgBdtNqNcEY6xMRQgAAodCE
	    J5RzHmq1Gl6rlYXGd2NmkIv9zG7K7nmev3UBJElCsVSY+kekRRdAUZROjFarOVRsR3IBKKUolgqd
	    syzLnuJIJNI/A8YYZFl2DdL5cFC5AJRSlMrFoQ56oZwttiwGRRnNQTA4jna73QXoug7GGMJhivJT
	    aagDSiWYpoHKS6UL0LQfBAJjsCw21O7l1QUeHu/dEQSer56dn7oWhzHL07YoilhZXoVlmVC/VOSu
	    s+A21qN5AHnHcmwbhuHrFTtLVVXkbrIA8OzzGpKm6fD7/RAEAaIoghCCer0OgODj890WpxKx5Bzp
	    FR8ep7OmaS55fay/KgAoJGLJHQD4BUJZpgMViPfYAAAAAElFTkSuQmCC
	}
	set edit-cut {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QocFh0xaEFkXgAAArRJREFUOMuFk11Ik1EYx59z3nev
	    r9vUfaXbbPgVaHjRVRB0YZRJV0XeZCIRaGmWWKhpgZAElaV9gYgQlBjoEPRKkCS6DAK1MG0zNvJj
	    7zZ1m+51X+92zttNzmFa5+78/w8//s/znIMg5TzrfXIOAN7zPO9tunm7dI/Xz7LspTvNrbpUHade
	    GIYZu9XYrI1Go8t9/a87Uz0Fq7hw5nS55sWrnk8HAggh/E+HHdfV1lcQQo7t6E97HpeZc82m7ZCI
	    KKUnDgRgjENLS7+AT0tDsVisdCcFy7JThYWF4HF7KKXU8a8EFTabDVZdK6iutr44kUic6nnePVBS
	    UqJAgMHhdAAAWA8E3G299xljvLy4aAc+jUeSJB3X6/TXZAqwvrFGAWCiraXj4YEAAABKaeXCjwV5
	    bc0DjTeaVPFEHIliEObm5iQA6Npb/xegraVjGmM8ZF+00WBwC2s0GhDcgizL8ru2lo7p/wL+pJia
	    nZnGTqcD0jkeMt8ORhBCb/arRXuFMaOxl1B6Pb65qSblZTIz+REVGHNAIHQLITRQ6fG07wsYM5k6
	    437/g6MmEyQoRd6tTdkX3h5mZVRVkJ3D8BxHJVkG5/o6KLKyrla63UPJFsbN5hrJ5+sqNhrpwsrK
	    VDASlgJBEdfEaU2UIzqWwTQQEhOO1dUPR/R6EvP5BsfN5t2XOmowCPNFRWSEYe4DAMxYLCGrUpnY
	    8UcYhnzJNQcBAIYxbv+Wn09GDQZhd4ixmF6SJFJFyKMJleqlgmV5hLE9OWmOm1Hz6arJjIy+y5R2
	    gyxTIMSwC+A4Qa1UMl/z8mImna5pXhC8iszMK8mPpNU2fHe5Ng4fOtQwa7HECKUYMA4AADAAANVa
	    rc/l95/0SxIbAJA5tfrsRUFI7twqiu7q7GyPNxDI8YfDGl8k4lOoVOetouj+DaDzOgfcNME8AAAA
	    AElFTkSuQmCC
	}
	set edit-find {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA8ADwAO80BmcbAAAACXB

	    I
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsFEA8FJf2tLwAAAfZJREFUOMudkk1rE1EYhZ87ySRN
	    mmaGSlIKCrVdaBpFFMGFuBQKVXfiJr/Ab6n0H4i2JEFEFHRZd1UQxU2oO0HsolQopIlWq5ZQNY3N
	    RydNMjPXRUhJQlKqZ3cP7z3v4bxHPHn6eDH3J3eMPUBV1ecTtyYvtpDT0buW3CPuTd+R7aJOKetc
	    Pr+563ZN0zvyTiHEziOZTHYcCoVCXYV3HLQPZjIZZl/MApCYSwDQtGt3B9++r5JKpzl6aoxtxYtp
	    K7hkhdT8ayZu34zEovefNf4o7Q40XSOVTnPo5BifC14GBwKMHAhSEj600XH8mj5z7caV410dJOYS
	    DIdPs1Jwc+nMEL4eFdO2UR0K75YlwSPjNktvFgABoHQKS3oDDA3oWLZk2zSp1CzKVYt+n5tfZbUl
	    CUVKiZR2SzButwuEoFy1qNYkm1s13KqD/f0epBAtXXACtmmaLU5sY4M1o4rfo6L3ubAtid/j5NNG
	    gX09lp1rcq7UK+pC03Q0TefCufOkF94S7BN8+ZknmyuRNyp8XFmnVK6QW3rlLBWLPxoCIhqfmrEs
	    K9J8DcMwcDhUTpyNsLxWZMtUGOyVrC++ZPjgCAAf5t+nHj54dFh0a9jV65enAoHgZDPn6/URHg3z
	    O5ut92X1K4J/RCwelQ2R/xIAlFg8agGUDYO/Boz2038z5y4AAAAASUVORK5CYII=
	}
	set edit-find-replace {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gEGFgQD9XZoggAAApVJREFUOMutk01sDGEYx38zs7O

	    1
	    SLfMLMGBVtCJ4KCJg6C4NHEgUkmJr2NLilpBpEQQgooica1EE8Q2EtGDS320REiJj52lRWJbldRu
	    d2c/ul27O68DO2kvTv7Jkzzvm/x/eZ43/1dinPYdaNQ0TYsUz9FoVL/aei3KPyQVG/+hA2tLvWVd
	    S1bUiBRTJVWMib6XD6SEFV93qaX10T8Bjfv3arruiyysqmEg7WHl4lmY4RjpZAIr1InLpaAosmNS
	    VTXgbzq8BcAFoOu+SPnilXyxSqhbXc4kt4KqyHSHBDOWbGD4fSfHjjY7gPMXz9YWe5dzO9nHvOml
	    FGxBNlcgm7PxlZbwdWgMCbCsOABebxklb45zeassgB3OXGohweBwgnAkQzydZ47mwS0X0KfYAIRC
	    IQBatynsutJDde1+gJsyQMKKr+t73cXMUglzYISR1BgvzO/EUhmi7++zaeMmDMOgrUFj99VnDD5t
	    5505WACQAaaVTe+qKJ9P+NU9Knwl9IR+khzNMvy6A13TGE2POuaBJzd51x9lxOxQgCrpzJlTYu68
	    cny6TtAMkkqnnGdZtnQZ1WuqaWvQ2Hmpm3BPO28/RYmZAYCqplt2rwtwzAeb/FhW3NkX+GNueUr/
	    wzY+fk8SMwP8WlTPkZPXewFJbm4+IQXNIPnCL7toMgwDwzCorKzkm7yC4PPn9A9ZxIJ3qTv9Atsz
	    28mQDOA/eEgCEMJhIITgxh6dzz+i3AkEiHzoYFV9B5O0BeRyuWIEhDwulXY+n58AaLpls37mZ2o2
	    72Z5w2PE5Dkkk0lyuTyAMjFIgKq68XrdDiCTyZBIJMhmsyiKgqqqf8sFYE8AKIpy+0LLue1CiAlT
	    FEuSnH+Hx+NpB3L8D/0Gec0bDM69rVkAAAAASUVORK5CYII=
	}
	set edit-paste {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAA

	    A
	    B3RJTUUH1QoOABwVr+LxGAAAAdBJREFUOMuVk7FrU1EUxn/3vTSCJDGN1JQMhSIGXFy0amIE0RJw
	    dtAhOBRFbR3ExUGXgjgIjvoPNIO7m6hL1S66OCmRUqjRSEJeb2zQRu85DqExL20gftv9zj0/zvng
	    GAZUKpWM73vPnZPZft/3vRfOSbFcLmu/bwBuzporBh4qjCsedvISudwRPM8AIKKsrHxgX+0pBgFo
	    quqtxy9ZMvNnifieCS6cORj70snwLsjStB2mp6cwZhsgrK2tk0xEOZr8zKS/zrPXq1ZUUxEg5nlm
	    LBrxeV/Psnj/EUEQUKlUQqvNzR0ilUpx7+5tLma+IaoxIBrp/9TegkQigaowM3NsMB7i8Thbf8Cp
	    6Xk9gGooG5bfvA29C/kcuynCEJ0+lecfXBBxwwG6S2F7AlVFRcidPP5/ExTyOUQEEUFVsNYyMZEe
	    DdDfKNJtbv1ojT6BiOtBql+rNBr1HSGHAQM157qAVsvSqNcpFs8P2xRv2ATWblD7XkNEev71+atc
	    nloevsLeMaUZNEmnM6TTGbLZw1i7gapwY+Far9k3GgJsiujv9i+350TyIw8W7/DT7YymsP8Tq+0D
	    ACS1ijFmU1U7BmDhXPcaMYwzglS71/jkFUt/AU/m4Zh4acTaAAAAAElFTkSuQmCC
	}
	set edit-redo {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1gcaCicVP7jtIQAAAdxJREFUOMudk01rE1EYhZ87X02M
	    pEJMY4MfbTbVdtPSKn5UYw1CqThuRCuCuBpwrTvBv+B+Vt11KUQKhYrFUrpqpKgbwU11ISliTCZN
	    mslkxs0YJ51Bgmf5Xp7Duee+F/qQbmqebmrTUWcS/WtbN7XCfxs8fmAAvNFNbS44FxFxB4A8sAhM
	    AZMBA5aWTYAbRcNeDxnopnYBeD4ntFS2cHVYTY3mEAJVjmHZPyl9W+HK6L0eExGAF4AXj/L58/JQ
	    TqrZZbzap550H5s1gK7JuT17VvjwBPDy4bXrN2OZM1iVdSxPI+7aAAw6DTbbzt/ihMSlkbssLZso
	    /uzpnbPjk7F0lvqvdyRaDRI0GG5VeEUCR+rtOj14snsNBWBA1WaPj02n49Z7svtVdqQEmiKoHYkz
	    7kMXFTDrFpljp9lc/dDtQAHouG5GyIJUw2KrVPfWWpXQ60xcPhGCu3vgdJzk0cZXtnd2WWu1LeAZ
	    MFU0bFE0bAHwNjkUgoFuB+w3q+5KXUjA/aJhrx5O4MMzRcMuRW6iqsgHgBcF+wrBwQQbzb2yWpC9
	    GKY2f9jkzzWiJAOM3ZbdLwft+q2Z3I/UbvmU0NWtz687dj9/JLiJI8ACUAU2niTd7wK8+UWn8y+D
	    39dLugVezzXeAAAAAElFTkSuQmCC
	}
	set edit-undo {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1gcaCg4AFiOWIQAAAhdJREFUOMuVk09okmEcx7/P877P
	    1OX+6MYa0ojWwfIQFIRBgxUEQrBDeAiCYkRQXTuMPHgox4wdIrp0qVhBEDTpUCwWwVKMWnaKlLRo
	    DXITXL4654bv6/M8HcKlm5Z9b88Xvp/neX7P9wGaKDoFiRakbjXm7qGXKciiRdHahd/HbExB1u0N
	    tZr/cwK/j9k8TiPn9oaAwtXNa+ikJ8MFzYC2xcPJ7MXxCb1UCyBbw0ZuHCrVAIsXkBVwLgGI8pvZ
	    x18ZBXmVKHgCQeNHFaD4fazd4zRW3d4QjJ/XQShFuQyAL0JfT0FbiUHKkjroOtFntii9NuRPD+yr
	    vI5ExTIAKBMXhF4NU6r8pqoMUkoIwSGEgOBrKK+nYLKYyI6uXZ2dYu3Q7v36o0hUGPRlktnnQ16w
	    jpMAAM51LHz7iMXvcaTTX+oGVtTisPe7YG5nB4ad3eHtMxgZw0LiJva4rkDwYl1YFO8ik2Uo6xw9
	    jkv49Ha6dPxs2qoCQCBoaPAxOzCZc4+MAQBiM3fq38tC4DpyGYXMA5jMOgiRal0PAkFDm00y+/yz
	    yc3M0CjI0CgIgIOlvDyVmLv9vm/gHLjoAJHShL/VuFGVw/fheDdN5eryDRF5aJPbmli7cyN/+DyW
	    FGGVG8U4hGrPNwU0g0SnMNjtOCy07BIA3Gr4mf6ho1079858jj2pHDujXftvgGzrt6Y+PH9Bde1p
	    1fsFBRbiJSu+JBQAAAAASUVORK5CYII=
	}
	set format-indent-more {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA7ADsAOuDR4OVAAAACXB

	    I
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsEDRgU5oxeDQAAAUBJREFUOMuVk+FKAkEUhb8J94f

	    p
	    Awi6PoK9SdSPeoUgopCgP6brGolZFhG9RD5Uq5LrIyTCnH6sri2rKx4Ghpl7z5lzuXcMwOCt/7VY
	    LM7YA47jDG/rd+cA9PqP2hfPg54Acv9V5/Pf1EtCYIUAAUjk84dxPJdl8+PzPXV3eXGVOG8VkMTJ
	    8SnlcgUhZFd+lMg72EaWRLfXJRgFKPIeLbtDQNIqFwCv3WI8CkBCslF8Uwmz2Ywg+GYa/jANQ8Jw
	    Gid5vofXauNWqpjsErTeknn4nTbjyQirDAGL1vVuQOfBZzwZZzhQ3PmNaDaauBU3o41aOlDaQ7PR
	    SpETAqVSiWKxQK12hKwFY7ipX0fk+ybuch7Y3UaLMFhrY3KlXI3HWNscABQKxUTQa/lU3WrKtjEm
	    KeA4zvDl9Wmv72zMwRDgD4kix1BJpDUdAAAAAElFTkSuQmCC
	}
	set go-next {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
	    U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAI2SURBVDiNlZJLSFRhHMV/3+POw0bDFFLE
	    XkQgaBQEhdNGaNEiggRbRoFCuMlyjDZCKzeNkIsochMUvaRFYj5wES1m0CmkFDfRIiwznbGBHuN4
	    79z7tQhfMxPUgbP5/ofD+Z//hzGGfIa7dKyxU7cVm+VTUgTGo3F39YG+cJc1EI5YoWKaNRQ1ALjS
	    0hs8efTsaQSz4YjV8N8GSmqaDp/xtTdfrw36QxPhiNVWTCcaI/orhp1bHhXZm+2DganPY1SV7cMn
	    t/F4/NbKh/mZYWM4H4s6PzcMOrXpuXgfKRRKKISQCAQAiU9DeLiU+Xewq7ye+PS4MzY5sIAxp2JR
	    ZwZAA7hejtjHZyipUUKBEAgBQgHCY9meI700z8G6I1ZN1Z7ap2N3J8IRqyMWdfo1QM5bJZ1ZwHaz
	    2G4WpTSlJWWUBEL4LT9GuNhejndLo9SE6kRrc1fJ0KtHfcevWsc0wNKPOd4nX693oH2ClCPRWYnW
	    Cr8viE8GUPgpzZWjTJCsnTHrK2wpUILUAmXJP/SBp7KgLBoqmkgvZsyDl3dWsquZjRUAWg5dWzdQ
	    lkBpychcL9onqQ7tp277CSbfxO3E2/hX47KpRMHi7Sc9W84oLbKXznUHlFLUVzZRofcy8PxhZjH5
	    ZcS4eWc0xhR8jnDEMpdbu/nlJUmmUubF6OCK7dgdsRtOf762oIM1ODmbxFRidXp2atHbFLmgs78l
	    qCivzHz7nho2Lhc2R/6nBEISX06n7sWihZHz8RtB3gm0bnbltgAAAABJRU5ErkJggg==
	}
	set document-close {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QYeDBMnfF7/rQAAAaNJREFUOMudk72qGkEUgL/52dF1
	    9a6wLGIjNoK2voClL2ATLknhI9jnFoIQUgdCOgmEvIIPYGev2PgMFqLuyO6k2o2LuQQcGKYYzjff
	    OXOO+PJ18RmY89x608D89cOnp6J//f451wDOOYQQ1Ot1KpUKQoh3g5xzHI9H0jQFQAKlYOccWZa9
	    u51zNBqN4hENIKXE87yCut/vWa1WJRPf95lOpyilAIpT5wYAWZYBsFgsHtR3ux2TyYQwDLmPKQxy
	    dQCtNf1+v3glDEO2220pjRJACEGapgUgCAIGgwHWWqIowvd9tNYlywfAvYHneSilaLfb1Go1jDFI
	    KRFCFAZSyr8ApRS32w1rLQBxHNPpdOj1egBcLheGwyFKKZIkwTlHEARlgzy/HNhqtfB9v/iBZrOJ
	    tRat9b9rcA+oVqus12u63S4ASZLw8vKCtRYpJVmWlQF55a/XKwDj8Zjlcslms+F0OhEEAaPRCGst
	    xhiEEI+AvIXP5zNxHDObzTgcDnieh9YarTVSSpRSRS+U+gDAGIMxpriMoui/A6WBt+8/vj07zh//
	    AGMQtDQExWmkAAAAAElFTkSuQmCC
	}
	set document-new {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/ADpAE8017ENAAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QISDiYc07YZKQAAAWpJREFUOMutkE9LW1EQxX9z741

	    W
	    JH0lgtDKWxbc1O5cZqkb8w2ycVm/Rd6y3XcjBMSC38BNN90qhVJKslJKSVqEEP9FYpved8eFJsYY
	    k1R6NjMMc+acM1Iul7drtVqREZid/cvcXJtn0W/yy5/f5aJvH+HPvmTDGaVSScfh/HhTL0/faOe8
	    oJcnK52LxuKutrLr2jIzrqvSbDYJIQAgIj31jNlj2n4h474iZgnrTCbY9mrHt1tTzld7BwbJ3Wrk
	    CGvqiHmFuAJgMSpG01+L4F66/qyD5OtebzoLTIE4EAuCABduNFkIOk/Q59hQRdNpQNC0ot6besam
	    FffQ57uHAq/x4SfgsVoBFO9f6OlZ69PM/PeDkRFEBOUpHV1DdYE0/QE8YWvn0GxsbL8FcKPItzWL
	    1zwiQhRFNBpJT9QwIfp/0497EYY5eIh8x8GwpcHZsB0zqd2xEXK5HI+Bi+P4Q5IkxX8hxXH8nv+F
	    K8w9mWB7rBTJAAAAAElFTkSuQmCC
	}
	set document-open {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
	    AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIdSURB
	    VDiNjZO/S5dRFMY/532vb0mgawTh0lLQGKhLP6QlDXJq0KXFwaDmhv6ChhA3h4oG+w8EI4UITSto
	    aIoQIbVFQi3N7/fec89p+OqblmDPcO65l3uf5znn3itDQ0McRMrNhoiU7i4iAkBRFCIitLW1ff61
	    3bhcVdX6/v7Q1dX11N1v7i8sLX858ezJc4qiQETYJxERJl9Mnp+envqAcxH4ARDMbHBwcLDTzMg5
	    Mzb+mJWVFZrNJgDuTs4ZM2N4aJitzc2zC+8X5uNuulRV1W5IKbmqsr6+jqruW2bx3eKh0nq6uwEY
	    Hb0r5US4MDf/ZgxjZI8goaqYGSJCVVX0XevD3WsXZVnWIr09vfJ2Ye62GSNBVU01k3OuHYQQmJl9
	    Rc65dnD1yjVijK2JgJkVUBBSSh5jrAn2uk3/jYFa/e+x/WQ7OAYQYoymqkzMOw0N0HmLgYcvcWuJ
	    +YHYIthL2vs7yqJYDapKSomdCI/uX+coSB3+IKrxYHzmTEgpWUoJcEqBj8tbR5IcRFkK506fAnEP
	    KSVTTQhQiFCF4liCbI4bCGJ715gRCcRklHKw4sPQ7DSToWY0UwbwoKoWY0Qk8G2jwc+GotlJ2TFz
	    zJ1sTtJWDhBKYfX7LohYEBEzMwTY2I5sN5Sk/3oIpdSdLArY3ImIuwd3Z22j9WBef1qtP89x2NnZ
	    BZGvIRfts1NLHXfAWV5a+6/DtLxsZOTeb/gCSx11MtnDAAAAAElFTkSuQmCC
	}
	set document-save {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsKDTcPnirYvwAAAIx0RVh0Q29tbWVudABNZW51LXNp
	    emVkIGljb24KPT09PT09PT09PQoKKGMpIDIwMDMgSmFrdWIgJ2ppbW1hYycgU3RlaW5lciwgCmh0
	    dHA6Ly9qaW1tYWMubXVzaWNoYWxsLmN6CgpjcmVhdGVkIHdpdGggdGhlIEdJTVAsCmh0dHA6Ly93
	    d3cuZ2ltcC5vcmdnisdHAAAChElEQVQ4y52STUhUYRSGn7nd8ebP5EzgtTHNkbJRbFFRNCYUuMgW
	    RRQuQigsgoqpwVYtKspFEVQQBlK0KAoisCgoalvQIolEiqZFmVRqhqTo3JvO/flOC2Fssja9m/PB
	    4Tyc9z1f4MjZ4yc/WxXa2LgzCVQBW4GGoCbZ0MKfPxYZzs2758+d4B8KNHd07Y2trI9Vl5uDq2vK
	    OqojhWttzyf9LcPr3ufqw9dR4pE3y7o77wz/FZA8fb7bnRo77InGqB9m2ihjgR6krWUjyysWc/n+
	    C/yhPmIF43+b7yR5LCVfRgZERGTgc1p60wOSuvZEEgcvSM+rL9L19K20nrou7waH5XdZliWpjqTo
	    hu6ztDzGxMQE4ZJytMAkheIA0PdxFLNE5/t4hvcDn1iyqBACAEJBQQEAuueCKMFXiu0nbszbsXdw
	    Atfzudjzkos9LwF4fHYfyGxfA1CiUL6i61AjAO27d9KYWMfMjE00pNGUWM/e1u0A7GlegfIVIjIH
	    EBEikTAVZTEuHVjHzbsPiMeq0AigESBRX82te49o21zDjqb1FBUX5QMALMvCNE2qo7U5SOOq5dTG
	    Krl8+yFtm2vYtSmBaZo4jpOzqAMopbBtGwDTNDFNk+6jhRy72kPW9dnfUk/7ti1omsbU1BS2bRMK
	    heYAhmFQWVmZF96ahg08u7IBANu2cRyH6enpeSHrAP39/bium9fwPA9d13PvPxWJRPIz8DyPdDrN
	    yMgImUwGEUFEMAyDoaEhQqFQrlqWhWVZ+VdQSlFcXEQwGMx9EgDXdRE1CxM1ez7l+/kWwuEwpaWl
	    RKNRALLZLEAu7XhdHKUU8bo6lFIsiUZzlgOpjuQZ4DT/p85fkzszTNUiYm0AAAAASUVORK5CYII=
	}
	set document-save-as {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
	    WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsKDTgPGbLEcAAAAIx0RVh0Q29tbWVudABNZW51LXN

	    p
	    emVkIGljb24KPT09PT09PT09PQoKKGMpIDIwMDMgSmFrdWIgJ2ppbW1hYycgU3RlaW5lciwgCmh0
	    dHA6Ly9qaW1tYWMubXVzaWNoYWxsLmN6CgpjcmVhdGVkIHdpdGggdGhlIEdJTVAsCmh0dHA6Ly93
	    d3cuZ2ltcC5vcmdnisdHAAACV0lEQVQ4y52ST0iTYRzHP+/b/DNz8s7ha1q2iZpIHSI0tgQND2mQ
	    ROEhhMQiqFiNeepgYR4MIQPxIEWHpCCEFQVF3SKhg2Z5KLKDmmhZhuRwbqXb3vfXYbYSLcjP6Xme
	    L8+H7/PjUc51XLg4Fc5X5+ajC0ABUAfsTFFl2Zb+/VtWWrSvv/NKK39BqfH3NLl2lLmcufrk7sIc
	    v9Nu3ROJG4x+WeT10IA59nGWUvub7b3td2fWFXjbOntjobmzcVGZNTR+pOWwyZJCY+0+ivKz6b7/
	    AuPTCK7U+fXut+Nt8cn05wkREZmYGpWh0Qnx3Xgi7tNXJTA8LT1P30rDpZvybnJG/iQcDovP7xVL
	    msVga66LYDCIlpmLqixglSgAI+Oz6JkWvs4v8n7iA1uyrKAACKmpqQBY4jEQUzBMk/rWW2s6Dk0G
	    icUNugKDdAUGAXjccQIkkasAppiYhknPGQ8AzceO4HGXs7QUIc+mUumuoKmhHoDjNcWYhomI/BaI
	    CHa7Rn6Oi2unyunrf0CpqwAVBRUFd5mT2/ce0VhdyOHKCjI2Z6wWAITDYXRdx5lXkpR4dhVR4tpG
	    952HNFYXcrTKja7rRKPR5BMtAKZpEolEANB1HV3X6T1vpeV6gOWYwcnaMpoPHUBVVUKhEJFIBJvN
	    lvgHPr9XKsr3IqwM+D8YfvUy0cDjrgSRFYOSmLAiIMrKNqEvKS5mfHwMQUH5U+BwOHg+8CwZCLKm
	    zf6qGgCyHQ4QJZlbADRNIz3d+s+6ml0DwK7ZV51bfi3qag+yERSf33sZaGNjtP8Elb70qz97tp0A
	    AAAASUVORK5CYII=
	}
	set debug-run {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAK3RFWHRDcmVhdGlvbiBUaW1lAE1p
	    IDE3IEF1ZyAyMDA1IDE0OjA4OjMyICswMTAwFQn99gAAAAd0SU1FB9MIFAoCLlQCpbMAAAAJcEhZ
	    cwAACvAAAArwAUKsNJgAAAAEZ0FNQQAAsY8L/GEFAAACu0lEQVR42qVTXUhTYRh+ztnZjpp/uJlT
	    qclmjSAMCyqlplKJoEOobky9i6Ds56Zu6laIroLorjLCEiKwn4soFEahSPkzUNrGpmZCOZ1OtnN2
	    /nZ++ia1HF36wcv5vu+8z3Oe5znfB+xwUNsXQ0PDTeHw5v2CApYlr/IAmjUMihTN6jrFKko6yXFC
	    2DCMiM83f9Hvv6cy2wkiEe5O35WeelGygKJgaBqodBrIlCgqWF+P2+LxuG1xcbHR46HO+P2oZnIF
	    GbCVW8jDwEqUopaWpggwBY4TwfMKJFGFIGowmXTQFF2aQeQQuN2OsqefN7A2Pg5BAtraqkmDgTya
	    AcXoYAjQRKtgDA1mXcF/BHa7tSgQCMDrPY0EJ+P1qzc41HoYE8sJrIgWRNM0YpoZMeTDqS1sYejt
	    BCMj38MtzcewGksS2Tyam0+if2AGbGkZaFXFAVMKHUwUl40QPOpyroLu7oETHk99e4yAJUkhwaWJ
	    T6Bnfz4aD5YgXFmI6TUFj0ISeFMR9lHTuQQ1NWU3KyqsVDS6QcAqFCVDoqP9rAc3fN3EP43eukvo
	    srkw8/EDfvCriPy14PX2V7lc9uzXZTlTJHGSpKYbUA0Rvac6MSeO4fHGMyQ7L+Dbnjoqm4EgpM47
	    nQ4mleL/gBWyJxMyGQqxIqVFCOkkdllTSFeM4stSBxpqA+ashdpaR6ssk0ZJItI1ZOayLJMzkFmr
	    0GkdAX4CMX0Bu23FOFpvxdt3L5msguLigiMcl9oCKwoJiU9uzTVNh65rpMsAm6/CXl6Iyko73o/+
	    1FtKz81mFdA0XZI5hYKQwOTk7Eo4/Osuy5r3ut3O6w0NDouJMcHpqMJEmDd8n+a/zvUFj/sw9e8v
	    BIMLL3he6AqFIoOyLN4eG3u4mdlPJK4ONjU5hzWVcj15Pq1oFv3W3LXgg53e4JzxG2OeZDGkiwQ1
	    AAAAAElFTkSuQmCC
	}
	set debug-into {
	    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAK3RFWHRDcmVhdGlvbiBUaW1lAE1p
	    IDMxIERleiAyMDAzIDE3OjE2OjU3ICswMTAwHz6L/wAAAAd0SU1FB9MIExMYMecH8tsAAAAJcEhZ
	    cwAACvAAAArwAUKsNJgAAAAEZ0FNQQAAsY8L/GEFAAACZklEQVR42q2TX0hTURzHv/duc0wnNfur
	    NUwrk4Wp/TElMnMPURCRvZWwsGD0DwoFC0whJIqggh6sCGJgD9EfCQIj9jACWZBJISuaYdu0ZtqY
	    d2v3Xrfde/pdsXClvdSBD5dzf/+/5xzgH5duPkP91iWFac7SkJtt3LTWysXC31LRufy4Of7xO2rK
	    Li1cWnzGZMrWC5MCQiMhVRQ+d30ajZ4me3quDrIIL/HBcbix/ZDj2IlQMMhLkgiR0ApJKX2VLMVX
	    pNPKOO17CReR4mcSpAhfZTEcB2otDuer46ir2wkhFoeYEJGQZETiChq365pq1sBJvgOE/EfrvRfR
	    ywbWMd1VjtnaKln3vcesoGgzy8mzMXvFAua/C3bHCY/mm6EBf40fXWQ252ZzzMw4jq/aWIr+wWFY
	    BTO6yk5CHWpBQT4gfAeCQwjUn0dRRgLjDYN8oXG/cXY7qqri1lMPSlUderZU44vvCY0EjAWR3NMJ
	    G7mMEEm95szSLEuWM0dSKAFTGWnOIx5TEafqU1M0uDQ9exdRQqyaTpBWlanLD5+rWRyMJh2vqyhf
	    jbe+EOr1eegorMVXvwuJBJVLAmIcbyjEQZTjpxhqMzOJp+Scngn5iLdkH9wvB7HbsBhty7chMOCC
	    IFAgnaZEXUxE8IBCwsQzzFZTW7s64Q6NL1PWU+etK+0Y7u+eDozR7Elq3/sa6tlHcGcc3exNUkFr
	    e8f1hpv5TRF/321IEn4R+Igx7zvspTwt811lK/GeqL7fhPBkEs0GI+xMAReJ4oUi4Mo5Dyxk1zTY
	    QPh/v0iaoEcJ018en4E4OPP9P+sHhST6hBxi9twAAAAASUVORK5CYII=
	}

	if [info exists $name] {
	    return [set $name]
	}
    }

    method createPng {data} {
        return [image create photo -format png -data $data]
    }

    method createCommand {command} {
	foreach {cls id mth} $command {}
        set obj [lindex [info class instances $cls] 0]
	if {$obj == {}} {return}
	set ret "[set [info object namespace $obj]::Menu] invoke $id"
	if {$mth != {}} {
	    append ret "\n[self object] $mth"
	}
	return $ret
    }
    
    method createToolbutton {data} {
	foreach {name imageName hint command} $data {}
	set cmd [my createCommand $command]
	if {$cmd == {}} {return}
        ttk::button $ToolBar.$name -style Toolbutton \
            -image [my createPng [my getPngData $imageName]] \
            -command $cmd
	tooltip::tooltip $ToolBar.$name $hint
	pack $ToolBar.$name -side left -padx 1
    }

    method createSeparator {name} {
        pack [ttk::separator $ToolBar.$name -orient vertical] -side left -padx 1 -fill y
    }

    method createToolBar {parent ifDebugger} {
        set ToolBar [frame $parent.tool]

	set toolbarData {
	    {toolbutton {docnew document-new "new document" {FileMenu 0}}}
	    {toolbutton {docopen document-open "open document" {FileMenu 1}}}
	    {toolbutton {docsave document-save "save document" {FileMenu 2}}}
	    {toolbutton {docsaveas document-save-as "save document as" {FileMenu 3}}}
            {toolbutton {docclose document-close "close document" {FileMenu 4}}}
	    {separator sep0}
	    {toolbutton {editcopy edit-copy "copy text" {EditMenu 0}}}
	    {toolbutton {editcut edit-cut "cut text" {EditMenu 1}}}
	    {toolbutton {editpaste edit-paste "paste text" {EditMenu 2}}}
	    {toolbutton {editundo edit-undo undo {EditMenu 7}}}
	    {toolbutton {editredo edit-redo redo {EditMenu 8}}}
	    {toolbutton {editindent format-indent-more indent {EditMenu 13}}}
	    {toolbutton {editclear edit-clear clear {EditMenu 11}}}
	    {separator sep1}
	    {toolbutton {schfind edit-find find {SearchMenu 0}}}
	    {toolbutton {schfindrep edit-find-replace "find and replace" {SearchMenu 1}}}
	}
	if $ifDebugger {
	    lappend toolbarData {*}{
		{separator sep2}
		{toolbutton {dbbreakpoint breakpoint-flap "flap breakpoint" {DebugMenu 0}}}
		{toolbutton {dbrun debug-run run {DebugMenu 3 disableDebugButtons}}}
		{toolbutton {dbstart debug-start debug {DebugMenu 4 disableDebugButtons}}}
		{toolbutton {dbstep debug-into "step in" {DebugMenu 7}}}
		{toolbutton {dbinfo debug-info info {DebugMenu 8}}}
		{toolbutton {dbstop debug-stop stop {DebugMenu 10}}}
	    }
	}
	
        foreach row $toolbarData {
            foreach {type data} $row {}
	    my create[string totitle $type] $data
        }

	catch {my enableDebugButton}
        pack $ToolBar -side top -fill x
    }

    method disableDebugButtons {} {
	foreach bt {dbbreakpoint dbrun dbstart} {
	    $ToolBar.$bt configure -state disable
	}
	foreach bt {dbstep dbstop} {
	    $ToolBar.$bt configure -state normal
	}
    }

    method enableDebugButton {} {
	foreach bt {dbbreakpoint dbrun dbstart} {
	    $ToolBar.$bt configure -state normal
	}
	foreach bt {dbstep dbstop} {
	    $ToolBar.$bt configure -state disable
	}
    }

    method update {textWidget langObj} {
	if [$textWidget edit modified] {
	    $ToolBar.docsave configure -state normal
	} else {
	    $ToolBar.docsave configure -state disable
	}
    }
}